package Test;

import java.util.Scanner;

public class Demo03 {
    /*
 我国的居民身份证号码，由由十七位数字本体码和一位数字校验码组成。请定义方法判断用户输入的身份证号码是否合法，
 并在主方法中调用方法测试结果。规则为：号码为18位，
 不能以数字0开头，前17位只可以是数字，最后一位可以是数字或者大写字母X。
 */

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入你的身份证号码");
        String s = sc.nextLine();
        boolean bo = method(s);
        if(bo==true){
            System.out.println("合格");
        }else{
            System.out.println("不合格");
        }
    }
    public static boolean method(String s) {
        boolean b = true;
        if(s.length()!=18)
            b=false;
        char[] chars = s.toCharArray();
        if(chars[0]=='0') {
            b = false;
            return b;
        }
        for (int i =0; i < chars.length; i++) {
            if(i<chars.length-1){
              b=chars[i]>='0'&&chars[i]<='9';
            }else if(i==chars.length-1){
                b=(chars[i]>='0'&&chars[i]<='9')||(chars[i]=='X');
            }
        }
        return  b;
    }

}
